#include <stdio.h>
#include <stdlib.h>

#define M 10000
#define N 1500
char bitflag[N];

void init()
{
    int i = 0;
    for (i = 0; i < N; i++)
    {
        bitflag[i] = 0x00;
    }
}

int getflag(int n)
{
    int c = n / 8;
    int r = n % 8;

    return (bitflag[c] & (1 << r))>>r;
}

void setflag(int n)
{
    bitflag[n / 8] |= (1 << (n % 8));
}

void d(int n)
{
    int temp = 0, c = 0;
    while(n < M)
    {
        temp = n;

        while(temp != 0)
        {
            c = temp %10;
            n += c;
            temp = (temp-c)/10;
        }
        setflag(n);
    }
}

void process()
{
    int i = 0;
    init();
    for(i = 1; i <= M; i++)
    {
        if(getflag(i) != 1)
        {
            d(i);
        }
    }

    for(i = 1; i < M; i++)
    {
        if(getflag(i) == 0)
        {
            printf("%d\n", i);
        }
    }
}

int main()
{
    //freopen("bin\\debug\\in.txt", "r", stdin);

    process();

    return 0;
}
